<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * AdminPermissionGroupMap
 *
 * @ORM\Table(name="admin_permission_group_map")
 * @ORM\Entity(repositoryClass="AppBundle\Repository\AdminPermissionGroupMapRepository")
 */
class AdminPermissionGroupMap
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var int
     *
     * @ORM\Column(name="group_id", type="integer")
     */
    private $groupId;

    /**
     * @var int
     *
     * @ORM\Column(name="permission_id", type="integer")
     */
    private $permissionId;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="creation_date", type="datetime", nullable=false)
     */
    private $creationDate;

    /**
     *
     * @ORM\ManyToMany(targetEntity="AdminPermission",inversedBy="adminPermissionGroupMap")
     * @ORM\JoinColumn(name="permission_id",referencedColumnName="id")
     */
    private $adminPermission;

    /**
     *
     * @ORM\ManyToMany(targetEntity="AdminPermissionGroups",inversedBy="adminPermissionGroupMap")
     * @ORM\JoinColumn(name="group_id",referencedColumnName="id")
     */
    private $adminPermissionGroups;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set groupId
     *
     * @param integer $groupId
     * @return AdminPermissionGroupMap
     */
    public function setGroupId($groupId)
    {
        $this->groupId = $groupId;

        return $this;
    }

    /**
     * Get groupId
     *
     * @return integer 
     */
    public function getGroupId()
    {
        return $this->groupId;
    }

    /**
     * Set permissionId
     *
     * @param integer $permissionId
     * @return AdminPermissionGroupMap
     */
    public function setPermissionId($permissionId)
    {
        $this->permissionId = $permissionId;

        return $this;
    }

    /**
     * Get permissionId
     *
     * @return integer 
     */
    public function getPermissionId()
    {
        return $this->permissionId;
    }

    /**
     * Set creationDate
     *
     * @param \DateTime $creationDate
     * @return AdminPermissionGroupMap
     */
    public function setCreationDate($creationDate)
    {
        $this->creationDate = $creationDate;

        return $this;
    }

    /**
     * Get creationDate
     *
     * @return \DateTime
     */
    public function getCreationDate()
    {
        return $this->creationDate;
    }

    /**
     * @param $adminPermission
     */
    public function setAdminPermission($adminPermission)
    {
        $this->adminPermission = $adminPermission;
    }

    /**
     * @return mixed
     */
    public function getAdminPermission()
    {
        return $this->adminPermission;
    }

    /**
     * @param $adminPermissionGroups
     */
    public function setAdminPermissionGroups($adminPermissionGroups)
    {
        $this->adminPermissionGroups = $adminPermissionGroups;
    }

    /**
     * @return mixed
     */
    public function getAdminPermissionGroups()
    {
        return $this->adminPermissionGroups;
    }
}
